//author:jxx
//此处是对表单的方法，组件，权限操作按钮等进行任意扩展(方法扩展可参照SellOrder.js)
import { h, resolveComponent } from 'vue';
import modelBody from "./studentBody.vue"
import gridFooter from "./StudentGridFooter.vue"
let extension = {
    components: {//动态扩充组件或组件路径
        gridHeader: '',
        gridBody: {
          render() {
            return h(resolveComponent('el-alert'), {
              type: "success",
              style: { 'margin-bottom': '12px' },
              'show-icon': false,
              closable: false,
            }, '点击新建、编辑弹出框，可以对明细表进行上传文件或者图片操作，见vSellOrderImg.js')
          }
        },
        gridFooter: gridFooter,
        modelHeader: "",
        //点击上传图片的弹出框
        modelBody: modelBody,
        modelFooter: "",
		
    },
    buttons: {view: [], box:[],  detail:[]},//扩展的按钮
    methods: {
	loadTableAfter(data, callBack,extra) {
	      //此处是从后台加数据后，你可以在渲染表格前，预先处理返回的数据
		  //data[0]["no"]="oko";
	      //console.log(extra.extra);
		 
	      callBack(true); //同上
	    },
	rowClick({ row, column, event }) { //查询界面table点击行选中当前行
	
	   //取消其他行选中
	  this.$refs.table.$refs.table.clearSelection();
	  //设置选中当前行
	  this.$refs.table.$refs.table.toggleRowSelection(row);
	  if (this.$refs.gridFooter && this.$refs.gridFooter.$refs.tableList) {
	    //load方法可参照voltable组件api文档
	    this.$refs.gridFooter.$refs.tableList.load({ value: row.stud_id, sort: "stud_grade_id" })
		
	  } 
	  
	  /* this.$refs.table.$refs.table.toggleRowSelection(row);
	  if (this.$refs.gridFooter && this.$refs.gridFooter.$refs.tableList) {
	    //添加明细表的数据(触发明细表加载数据，见SellOrder3GridFooter方法loadBefore)
	    //load方法可参照voltable组件api文档
	    this.$refs.gridFooter.$refs.tableList.load()
	  } */
	  
	},
	searchAfter(rows,other) {
	  //页面加载或者刷新数据后直接显示第一行的明细
	  if (rows.length) {
	    // this.$nextTick(() => {
	    this.$refs.gridFooter.$refs.tableList.load({ value: rows[0].stud_id, sort: "stud_grade_id" })
	    // })
	  } else {
	    //没有数据时，清空明细数据
	    this.$refs.gridFooter.$refs.tableList.rowData.splice(0)
	  }
	  return true;
	},
	testButton(){
		 this.$Message.info("测试权限按钮");
	},
	modelOpenAfter() {
		this.editFormFields.name="刘德华";//注意给新增界面字段赋初始值，一定要在modelOpenAfter()时间中；
		},
    onInit() {
		
		this.searchFormFields.no="11";//查询条件初始值
		        
		//this.searchFormFields.Name = "林";
			  //启用多文件上传,其他上传参数，参照volupload组件api
		this.editFormOptions.forEach(x => {
			    x.forEach(item => {
			      if (item.field == 'z_fujian') {
			        //item.type = 'file';
			        //设置成100%宽度
			        item.colSize = 12;
			        item.multiple = true;
			        //最多可以上传3张照片
			        item.maxFile = 3;
			        //限制图片大小，默认3M
			        item.maxSize = 3;
			        // item.append = true;
			      }
			    })
			  })
		
    },
    onInited() {
	  //this.columns.push( {field:"add_all",title:'总分合计'})
      this.height = this.height - 410;
      //获取图片位置，在图片后面加一个上传按钮,这里只是演示随便找的一个字段存图片
      let _index = this.detailOptions.columns.findIndex(x => { return x.field == 'fujian' });

      //这里只是演示，实际操作在代码生成器table显示类型设置为图片后这里就不用操作了
      //代码生成器中编辑行号设置为0，不要设置为大于0的数据
      this.detailOptions.columns[_index].edit = null;
      this.detailOptions.columns[_index].type = 'file';
      this.detailOptions.columns[_index].title = '附件1';

      //从表动态添加一列(上传图片列),生成上传图片、与删除图片操作
      this.detailOptions.columns.splice(_index, 0, {
        field: "随便写",
        title: "上传附件",
        width: 150,
        align: "center",
        render: (h, { row, column, index }) => {
          //下面所有需要显示的信息都从row里面取出来
          return h(
            "div", { style: { color: '#0c83ff', 'font-size': '13px', cursor: 'pointer' } },
            [
              h(
                "i", {
                style: { 'margin-right': '10px' },
                class:['el-icon-upload'],
                onClick: (e) => {
                  e.stopPropagation();
                  //记住当前操作的明细表行数据
                  //如果原来有图片,上传图片界面把原来的图片也显示出来
                  let fileInfo = (row.fujian || '').split(",").filter(x => { return x }).map(img => {
                    //(生成文件格式) fileInfo格式参数，见volupload组件
                    return { path: img, name: "" };
                  })
                  this.$refs.modelBody.open(fileInfo, row)
                }
              }, [], '上传附件'
              ),
              h('i', {
                class: ['el-icon-delete'], onClick: (e) => {
                  e.stopPropagation(); row.fujian = ''
                }
              }, '删除附件')
            ])
        },
      })
    }
  }
};
export default extension;